A checkcode is an image used in a network to prevent a webpage from attacks by a malicious script. There are four variables when using a checkcode in a verification process, including: a user identification (“uid”), a checkcode picture (“pic”), content of the checkcode picture (“ans”), and a content value input by a user after identification of the checkcode picture (“ans2”). When the user requests for the checkcode through uid at a terminal, a checkcode server randomly generates the ans according to a preset rule, draws a corresponding pic according to the generated ans or obtains a corresponding pic from a preset picture database, and returns a result to the user's terminal. The uid and ans are stored as a pair key in a database. After the terminal outputs pic, the user inputs the ans2 of the pic. Then, ans2 is submitted to a checkcode server. The checkcode server obtains the ans in the database according to the uid, and compares the ans with the ans2. If the two variables match, the user passes the verification.
While researching and implementing the current technologies, Applicant found the following problems with respect to the existing technologies. During the generation of the checkcode, the checkcode is generally comprised of characters with some appearance variation. As there are only a limited number of characters, there are only a limited number of generated pics which can be easy to be enumerated. When there is less amount of variation of the characters, the characters can be easily identified by machines. When there is greater amount of variation of the characters, the difficulty of manual identification is increased. Consequently, the safety and accuracy of user verification is reduced although verification by machine is difficult.